Sir Charles Antony Richard Hoare (; born 11 January 1934), also known as C. A. R. Hoare, is a British computer scientist who has made foundational contributions to programming languages, , , formal verification, and concurrent computing. His work earned him the Turing Award, usually regarded as the highest distinction in computer science, in 1980.
Hoare developed the sorting algorithm quicksort in 1959–1960. He developed Hoare logic, an axiomatic basis for verifying program correctness. In the semantics of concurrency, he introduced the formal language communicating sequential processes (CSP) to specify the interactions of concurrent processes, and along with Edsger Dijkstra, formulated the dining philosophers problem. Since 1977, he has held positions at the University of Oxford and Microsoft Research in Cambridge.
Education and early life
Tony Hoare was born in
Colombo, Ceylon (now
Sri Lanka) to British parents; his father was a colonial
civil servant and his mother was the daughter of a tea planter. Hoare was educated in
England at the
Dragon School in
Oxford and the King's School in
Canterbury.
He then studied Classics and Philosophy ("Greats") at Merton College, Oxford.
On graduating in 1956 he did 18 months National Service in the
Royal Navy,
where he learned Russian.
He returned to the University of Oxford in 1958 to study for a postgraduate certificate in
statistics,
and it was here that he began computer programming, having been taught
Autocode on the
Ferranti Mercury by
Leslie Fox.
He then went to Moscow State University as a
British Council exchange student,
where he studied machine translation under Andrey Kolmogorov.
Research and career
In 1960, Hoare left the
Soviet Union and began working at Elliott Brothers Ltd,
a small computer manufacturing firm located in London. There, he implemented the language ALGOL 60 and began developing major
.
He was involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) Working Group 2.1 on Algorithmic Languages and Calculi, which specified, maintains, and supports the languages ALGOL 60 and ALGOL 68.
He became the Professor of Computer science at the Queen's University of Belfast in 1968, and in 1977 returned to Oxford as the Professor of Computing to lead the Programming Research Group in the Oxford University Computing Laboratory (now Department of Computer Science, University of Oxford), following the death of Christopher Strachey. He became the first Christopher Strachey Professor of Computing on its establishment in 1988 until his retirement at Oxford in 2000. He is now an Professor there, and is also a principal researcher at Microsoft Research in Cambridge, England.[ Microsoft home page – short biography][ Oral history interview with C. A. R. Hoare at Charles Babbage Institute, University of Minnesota, Minneapolis.][ – The original article on monitors]
Hoare's most significant work has been in the following areas: his sorting and selection algorithm (Quicksort and Quickselect), Hoare logic, the formal language communicating sequential processes (CSP) used to specify the interactions between concurrent processes (and implemented in various programming languages such as occam), structuring computer using the monitor concept, and the specification of programming languages.
Speaking at a software conference in 2009, Tony Hoare hyperbolically apologized for inventing the null pointer:
For many years under his leadership, Hoare's Oxford department worked on formal specification languages such as CSP and Z notation. These did not achieve the expected take-up by industry, and in 1995 Hoare was led to reflect upon the original assumptions:
A commemorative article was written in tribute to Hoare for his 90th birthday.[
]
Awards and honours
-
ACM Programming Systems and Languages Paper Award (1973)
for the paper "Proof of correctness of data representations"
-
DFBCS (1978)
-
Turing Award for "fundamental contributions to the definition and design of programming languages". The award was presented to him at the ACM Annual Conference in Nashville, Tennessee, on 27 October 1980, by Walter Carlson, chairman of the Awards committee. A transcript of Hoare's speech
was published in Communications of the ACM.
-
Harry H. Goode Memorial Award (1981)
-
Fellow of the Royal Society (1982)
-
Honorary Doctorate of Science by the Queen's University Belfast (1987)
-
Honorary Doctorate of Science, from the University of Bath (1993)
-
Honorary Fellow, Kellogg College, Oxford (1998)
-
Knight Bachelor for services to education and computer science (2000)
-
Kyoto Prize for Information science (2000)
-
Fellow
of the Royal Academy of Engineering (2005)
-
Member of the National Academy of Engineering (2006) for fundamental contributions to computer science in the areas of algorithms, operating systems, and programming languages.
-
Computer History Museum (CHM) in Mountain View, California Fellow of the Museum "for development of the Quicksort algorithm and for lifelong contributions to the theory of programming languages" (2006)
-
Honorary Doctorate from Heriot-Watt University (2007)
-
Honorary Doctorate of Science from the Department of Informatics of the Athens University of Economics and Business (AUEB) (2007)
-
Friedrich L. Bauer-Prize, Technical University of Munich (2007)
-
SIGPLAN Programming Languages Achievement Award (2011)
-
IEEE John von Neumann Medal (2011)
-
Honorary Doctorate, University of Warsaw (2012)
-
Honorary Doctorate, Complutense University of Madrid (2013)
-
Royal Medal of the Royal Society (2023)
[ Royal Medal 2023]
Personal life
In 1962, Hoare married
Jill Hoare, a member of his research team.
Books
-
-
C. A. R. Hoare (1985). Communicating Sequential Processes. Prentice Hall International Series in Computer Science. (hardback) or (paperback). (Available online at http://www.usingcsp.com/ in PDF format.)
-
-
-
External links